//
//  MainViewController.swift
//  新浪微博
//
//  Created by 赵春浩 on 15/12/13.
//  Copyright © 2015年 DreamFlyingCow. All rights reserved.
//

import UIKit

class MainViewController: UITabBarController {
    
    // 必选的属性
    let mainTabBar = MainTabBar()
    
    // private func 是 Swift 中函数的特殊的声明形式, 希望 Swift 方法选择器 + 访问控制关键字  能够兼容 需要使用 @objc
    // @objc private 要保证监听方法的安全性并且可以响应点击事件的特殊写法
    @objc private func composeBtnDidClick() {
        print(__FUNCTION__)
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // tabBar 是只读属性 不能够直接进行设置  可以使用 KVC 在运行时间接赋值(改变身份)
        
        print(tabBar.classForCoder)
        
        mainTabBar.composeBtn.addTarget(self, action: "composeBtnDidClick", forControlEvents: .TouchUpInside)
        setValue(mainTabBar, forKey: "tabBar")
        // classForCoder 对象的类的字符串形式
        print(tabBar.classForCoder)
        
        // 添加子视图控制器
        addChildViewControllers()
    }
    
    // private 表示只能在本类中进行访问
    private func addChildViewControllers() {
        addChildViewController(HomeViewController(), title:"首页", imageName: "tabbar_home")
        addChildViewController(MessageViewController(), title:"消息", imageName: "tabbar_message_center")
        addChildViewController(DiscoverViewController(), title:"发现", imageName: "tabbar_discover")
        addChildViewController(ProfileViewController(), title:"我", imageName: "tabbar_profile")
        
    }
    
    private func addChildViewController(vc: UIViewController, title: String, imageName: String) {
        let nav = UINavigationController(rootViewController: vc)
        vc.title = title
        // 设置图片
        vc.tabBarItem.image = UIImage(named: imageName)
        
        self.addChildViewController(nav)
    }
    
    
}
